package dobest.ray.com.jiongjiong.utils;


import android.content.Context;

import java.util.List;

import dobest.ray.com.jiongjiong.bean.BindDeviceBean;

/**
 * Created by wangl01 on 2015/11/24. 缓存说明
 */
public class ACacheHelper {
    private static ACacheHelper instance;

    private ACacheHelper() {

    }

    public static ACacheHelper getInstance() {
        if (instance == null) {
            instance = new ACacheHelper();
        }
        return instance;
    }

    /**
     * 设置头像缓存
     *
     * @param context
     * @param ImageUrl
     * @return
     */
    public void saveImageUrl(Context context, String ImageUrl) {
        ACache.get(context).put("ImageUrl", ImageUrl);
    }

    /**
     * 获取图片Url
     *
     * @param context
     * @param ImageUrl
     * @return
     */
    public String getImageUrl(Context context, String ImageUrl) {
        return ACache.get(context).getAsString("ImageUrl");
    }

    /**
     * 播放器播放到第几节
     *
     * @param context
     * @return
     */
    public void saveVideoIndex(Context context, int index) {
        ACache.get(context).put("VideoIndex", index);
    }

    /**
     * 播放器播放到第几节
     *
     * @param context
     * @return
     */
    public int getVideoIndex(Context context) {
        return ACache.get(context).getAsObject("VideoIndex") == null ? 0 : (int) ACache.get(context).getAsObject("VideoIndex");
    }


    /**
     * 存放日期：天
     *
     * @param context
     * @return
     */
    public void saveDayInMonth(Context context, int index) {
        ACache.get(context).put("DayInMonth", index);
    }

    /**
     * 存放日期：天
     *
     * @param context
     * @return
     */
    public int getDayInMonth(Context context) {
        return ACache.get(context).getAsObject("DayInMonth") == null ? 0 : (int) ACache.get(context).getAsObject("DayInMonth");
    }

    /**
     * 存放1cm对应多少px
     *
     * @param context
     * @return
     */
    public void saveMesurePX(Context context, float cm2px) {
        ACache.get(context).put("1cm2px", cm2px);
    }

    /**
     * 存放日期：天
     *
     * @param context
     * @return
     */
    public float getMesurePX(Context context) {
        return ACache.get(context).getAsObject("1cm2px") == null ? 0 : (float) ACache.get(context).getAsObject("1cm2px");
    }

    /**
     * 清除所有数据
     *
     * @param context
     */
    public void clear(Context context) {
        ACache.get(context).clear();
    }

    /**
     * 清除单挑数据
     *
     * @param context
     * @param key
     */
    public void clear(Context context, String key) {
        ACache.get(context).remove(key);
    }

    /**
     * 设置缓存字符串
     *
     * @param context
     * @param imageUrl
     * @return
     */
    public void saveSearchCache(Context context, String cacheString) {
        ACache.get(context).put("Cache", cacheString);
    }

    /**
     * 获取缓存字符串
     *
     * @return
     */
    public String getSearchCache(Context context) {
        return ACache.get(context).getAsString("Cache");
    }

    /**
     * 设置缓存字符串
     *
     * @param context
     * @param imageUrl
     * @return
     */
    public void saveProSearchCache(Context context, String cacheString) {
        ACache.get(context).put("ProCache", cacheString);
    }

    /**
     * 获取缓存字符串
     *
     * @return
     */
    public String getProSearchCache(Context context) {
        return ACache.get(context).getAsString("ProCache");
    }

    /**
     * 存放已绑定的设备，但是只能先解绑再绑定
     *
     * @param context
     * @param bean
     */
    public void saveBindDevices(Context context, BindDeviceBean bean) {
        ACache.get(context).put("BindDeviceBean", bean);
    }

    public BindDeviceBean getBindDevices(Context context) {
        return (BindDeviceBean) ACache.get(context).getAsObject("BindDeviceBean");
    }

    /**
     * 近视 右眼数据
     *
     * @param context
     * @return
     */
    public void saveNearVisionRight(Context context, float right) {
        ACache.get(context).put("NearVisionRight", right);
    }

    /**
     * 近视 右眼数据
     *
     * @param context
     * @return
     */
    public float getNearVisionRight(Context context) {
        return ACache.get(context).getAsObject("NearVisionRight") == null ? 0 : (float) ACache.get(context).getAsObject("NearVisionRight");
    }

    /**
     * 近视 右眼数据
     *
     * @param context
     * @return
     */
    public void saveNearVisionLeft(Context context, float left) {
        ACache.get(context).put("NearVisionLeft", left);
    }

    /**
     * 近视 右眼数据
     *
     * @param context
     * @return
     */
    public float getNearVisionLeft(Context context) {
        return ACache.get(context).getAsObject("NearVisionLeft") == null ? 0 : (float) ACache.get(context).getAsObject("NearVisionLeft");
    }



    /**
     * 远视 右眼数据
     *
     * @param context
     * @return
     */
    public void saveFarVisionRight(Context context, float right) {
        ACache.get(context).put("FarVisionRight", right);
    }

    /**
     * 近视 右眼数据
     *
     * @param context
     * @return
     */
    public float getFarVisionRight(Context context) {
        return ACache.get(context).getAsObject("FarVisionRight") == null ? 0 : (float) ACache.get(context).getAsObject("FarVisionRight");
    }

    /**
     * 近视 右眼数据
     *
     * @param context
     * @return
     */
    public void saveFarVisionLeft(Context context, float left) {
        ACache.get(context).put("FarVisionLeft", left);
    }

    /**
     * 近视 右眼数据
     *
     * @param context
     * @return
     */
    public float getFarVisionLeft(Context context) {
        return ACache.get(context).getAsObject("FarVisionLeft") == null ? 0 : (float) ACache.get(context).getAsObject("FarVisionLeft");
    }
}
